package com.example.barnes.ummo.ummoAPI;
import android.app.Activity;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import android.util.Log;
import com.example.barnes.ummo.R;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
/**
* Created by barnes on 11/1/15.
*/
public class QMaster
{
private Activity callingActivity;
private String uCellNumber;
private boolean registered=false;
private String uName;
public void register(final String name,final String cell) {
try {
String urlString = callingActivity.getString(R.string.SERVER_URL)+"qMaster/register";
final FormPoster formPoster = new FormPoster(new URL(urlString));
formPoster.add("uid",cell);
formPoster.add("fullName",name);
formPoster.add("data", "data");
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
InputStream is = formPoster.post();
BufferedReader rd = new BufferedReader(new InputStreamReader(is));
final StringBuilder response = new StringBuilder(); // or StringBuffer if not Java 5+
String line;
while((line = rd.readLine()) != null) {
response.append(line);
response.append('\r');
}
rd.close();
final String objString = response.toString();
((QUserListner) callingActivity).userRegistered(objString);
//This would mean the registration was compleate
//
//JSONObject obj = new JSONObject(objString);
//Set the Shared Preferences for User Name and CellNumber
SharedPreferences sp = PreferenceManager
.getDefaultSharedPreferences(callingActivity);
sp.edit().putString(callingActivity.getString(R.string.PREF_USER_NAME), name).apply();
sp.edit().putString(callingActivity.getString(R.string.PREF_USER_CELLNUMBER), cell).apply();
sp.edit().putBoolean(callingActivity.getString(R.string.PREF_USER_REGISTERED), true).apply();
callingActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
((QMasterListener) callingActivity).registered(objString);
}
});
}
catch (final IOException ioe){
callingActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
((QMasterListener)callingActivity).registrationError(ioe.toString());
}
});
}
}
});
thread.start();
}
catch (MalformedURLException me){
Log.e("NetWork Exception", me.toString());
}
}
public boolean isRegistered() {
return registered;
}
public void createQ(String frame,String qname,String qTag) {
try {
String urlString = callingActivity.getString(R.string.SERVER_URL)+"qMaster/craeteQ";
final FormPoster formPoster = new FormPoster(new URL(urlString));
formPoster.add("cellnum",uCellNumber);
formPoster.add("frame",frame);
formPoster.add("qName",qname);
formPoster.add("tag",qTag);
formPoster.add("data", "data");
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
InputStream is = formPoster.post();
BufferedReader rd = new BufferedReader(new InputStreamReader(is));
final StringBuilder response = new StringBuilder(); // or StringBuffer if not Java 5+
String line;
while((line = rd.readLine()) != null) {
response.append(line);
response.append('\r');
}
rd.close();
final String objString = response.toString();
callingActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
((QMasterListener) callingActivity).qCreated(objString);
}
});
}
catch (final IOException ioe){
callingActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
((QMasterListener)callingActivity).createQError(ioe.toString());
}
});
}
}
});
thread.start();
}
catch (MalformedURLException me){
Log.e("NetWork Exception", me.toString());
}
}
public void destroyQ() {
try {
String urlString = callingActivity.getString(R.string.SERVER_URL)+"qMaster/destroyQ";
final FormPoster formPoster = new FormPoster(new URL(urlString));
formPoster.add("cellnum",uCellNumber);
formPoster.add("data", "data");
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
InputStream is = formPoster.post();
BufferedReader rd = new BufferedReader(new InputStreamReader(is));
final StringBuilder response = new StringBuilder(); // or StringBuffer if not Java 5+
String line;
while((line = rd.readLine()) != null) {
response.append(line);
response.append('\r');
}
rd.close();
final String objString = response.toString();
callingActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
((QMasterListener) callingActivity).qDestroyed(objString);
}
});
}
catch (final IOException ioe){
callingActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
((QMasterListener)callingActivity).onQDestroyError(ioe.toString());
}
});
}
}
});
thread.start();
}
catch (MalformedURLException me){
Log.e("NetWork Exception", me.toString());
}
}
public void getQUpdates() {
try {
String urlString = callingActivity.getString(R.string.SERVER_URL)+"qMaster/updates";
final FormPoster formPoster = new FormPoster(new URL(urlString));
formPoster.add("cellnum",uCellNumber);
formPoster.add("data", "data");
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
InputStream is = formPoster.post();
BufferedReader rd = new BufferedReader(new InputStreamReader(is));
final StringBuilder response = new StringBuilder(); // or StringBuffer if not Java 5+
String line;
while((line = rd.readLine()) != null) {
response.append(line);
response.append('\r');
}
rd.close();
final String objString = response.toString();
callingActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
((QMasterListener) callingActivity).updatesRecieved(objString);
}
});
}
catch (final IOException ioe){
callingActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
((QMasterListener)callingActivity).onUpdtaesError(ioe.toString());
}
});
}
}
});
thread.start();
}
catch (MalformedURLException me){
Log.e("NetWork Exception", me.toString());
}
}
public void dQUser(String ucellnum) {
try {
String urlString = callingActivity.getString(R.string.SERVER_URL)+"qMaster/deQUser";
final FormPoster formPoster = new FormPoster(new URL(urlString));
formPoster.add("mcellnum",uCellNumber);
formPoster.add("ucellnum",ucellnum);
formPoster.add("data", "data");
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
InputStream is = formPoster.post();
BufferedReader rd = new BufferedReader(new InputStreamReader(is));
final StringBuilder response = new StringBuilder(); // or StringBuffer if not Java 5+
String line;
while((line = rd.readLine()) != null) {
response.append(line);
response.append('\r');
}
rd.close();
final String objString = response.toString();
callingActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
((QMasterListener) callingActivity).userDQd(objString);
}
});
}
catch (final IOException ioe){
callingActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
((QMasterListener)callingActivity).onUserDQError(ioe.toString());
}
});
}
}
});
thread.start();
}
catch (MalformedURLException me){
Log.e("NetWork Exception", me.toString());
}
}
QMaster(Activity activity){
setCallingActivity(activity);
SharedPreferences sp = PreferenceManager
.getDefaultSharedPreferences(callingActivity);
registered = sp.getBoolean(callingActivity.getString(R.string.PREF_USER_REGISTERED), false);
if (registered) {
uName = sp.getString(callingActivity.getString(R.string.PREF_USER_NAME), "NO NAME");
uCellNumber = sp.getString(callingActivity.getString(R.string.PREF_USER_CELLNUMBER), "NO NUMBER");
// Intent intent = new Intent(Register.this, MainActivity.class);
// startActivity(intent);
// finish();
Log.d("prefs", "registered");
}
}
public void setCallingActivity(Activity activity) {
callingActivity = activity;
}
public void setName() {
}
public void setCellNumber() {
}
public String getName() {
return uName;
}
public String getCellNumb() {
return uCellNumber;
}
}